#ifndef _KLAS_COLOR_HPP_
#define _KLAS_COLOR_HPP_

#include "../include/Defines.hpp"

namespace klas
{
	//! Color represents a color used by the engine.
	class Color
	{
		public:
			//! Ctor
			Color();
			
			//! Creates a color with values r, g, b
      /*! Creates a color with values r, g, b.  These values can be from 0-255 or
           from 0-1. */
      Color(Real r, Real g, Real b, Real a = 1.0);
      
      //! Creates a color with values r, g, b
      /*! Creates a color with values r, g, b.  These values can be from 0-255 or
           from 0-1. */
			void setColor(Real r, Real g, Real b, Real a = 1.0);
  		
      //! Returns the red value of the color.
      /*! \return The red value. */
      Real getR() const;
      
      //! Returns the green value of the color.
      /*! \return The green value. */
      Real getG() const;
      
      //! Returns the blue value of the color.
      /*! \return The blue value. */
      Real getB() const;
      
      //! Returns the alpha value of the color.
      /*! \return The alpha value. */
      Real getA() const;
   
    private:
      //! The colors
      Real m_r, m_g, m_b, m_a;
  };
}
#endif
